import ora from 'ora'
import chalk from 'chalk'

const log = console.log

class Reporter {
    spinner: any

    constructor(msg) {
        this.spinner = ora(msg).start()
    }

    set text(msg: string) {
        this.spinner.text = msg
    }

    set log(msg) {
        this.spinner.stop()
        log(chalk.white(msg))
        this.spinner.start()
    }

    succeed(msg) {
        this.spinner.succeed(msg || null)
    }

    fail(msg) {
        this.spinner.fail(msg || null)
    }

    stop() {
        this.spinner.stop()
    }
}

export default Reporter
